#include<iostream>
#include<atomic>
#include<pthread.h>
#include<vector>
#include<atomic>
using namespace std;
 
atomic<int> num (0);
 
// 线程函数,内部对num自增1000万次
void* Add(void * argv)
{
    for(int i=0;i<10000000;i++) 
    {
        num++;
    }
    return NULL;
}
 
int main()
{
    clock_t startClock = clock();   // 记下开始时间
    // 3个线程,创建即运行
    pthread_t myThread1;
    pthread_t myThread2;
    pthread_t myThread3;
    pthread_create(&myThread1,NULL,Add,NULL);
    pthread_create(&myThread2,NULL,Add,NULL);
    pthread_create(&myThread3,NULL,Add,NULL);
   
    // 等待3个线程结束
    void* result1;
    pthread_join(myThread1,&result1);
    pthread_join(myThread2,&result1);
    pthread_join(myThread3,&result1);
    clock_t endClock = clock();     // 记下结束时间
    cout<<"耗时:"<<endClock-startClock<<",单位:"<<CLOCKS_PER_SEC<<",result:"<<num<<endl;
    return 0;
}